Cluster computing is one of the most popular platforms for high-performance computing today. Cluster architecture is useful for large computing systems because by grouping servers and other resources together in a cluster, organizations can increase performance, balance traffic and create high availability. Important, however, is that the cluster appears as a single highly available system to end users, and for both economical and technical reasons, most cluster computing systems use a shared file system. A shared file system allows access to data and files by multiple servers via a high speed network. Each server can then perform I/O operations at the speed of the network, however, when I/O requirements and activities from the cluster exceed the I/O capability, there are significant degradations in the I/O performance. Additionally, like traditional parallel computing systems, the I/O subsystems of clusters may form a bottleneck that affects overall system performance.